<?php

	require_once "../classes/DB.php";
	require_once "../classes/AdministradorUsuarios.php";
	require_once "../classes/AdministradorHoteles.php";
	require_once "../classes/AdministradorAgencias.php";	

	$action = $_REQUEST["accion"];
	
	switch($action){
		case "mensaje": mensaje();
						break;
		case "cuentAdicional": cuenta('Nueva');
						break;
		case "updateCuentaAdicional": cuenta('Modifica');
						break;
		case "ECuenta": deleteCuenta();
						break;
		case "EHotel": deleteHotel();
						break;
		case "EAgencia": deleteAgencia();
						break;												
		case "newHotel": nuevoHotel();
						break;
		case "newAgencia": nuevaAgencia();
						break;			
		case "actHotel": hotel();
						break;
		case "actAgencia": agencia();
						break;						
		case "actHotelImg": hotelImg();
						break;
		case "MHotel": Mhotel();
						break;						
		case "nuevaPapeleta": nuevaPapeleta();
						break;
	}
	
	function mensaje(){
	
		$subject = $_REQUEST["asunto"];
		$prioridad = $_REQUEST["prioridad"];
		$msg = $_REQUEST["msg"];
		
		$profile=get_object_vars(unserialize($_SESSION['userProfile']));
		$idReceptor = 0;//IRENK
		$idEmisor = $profile['data']['id_procedencia'];
		$fecha = "".date("Y",time())."-".date("m",time())."-".date("d",time());
		
		$query = "INSERT INTO mensajes ( Id_Mensaje , Id_Receptor , Id_Emisor , Asunto , Prioridad , Mensaje , Fecha_Mensaje , Status) VALUES (NULL , '".$idReceptor."', '".$idEmisor."', '".$subject."', '".$prioridad."', '".$msg."', '".$fecha."', '0')";

		$db=new DB();
		if($db->indeup($query)){
			echo "<h2> Mensaje Enviado </h2>";
		}else{
			echo "<h2>Error al Enviar el Mensaje</h2>";
		}
	}
	
	function cuenta($hacer){
		
		$adminUs = new AdministradorUsuarios();

		$profile=get_object_vars(unserialize($_SESSION['userProfile']));
		
		$idProcedencia = $profile['data']['id_procedencia'];
		$numContrato = $profile['data']['numero_contrato'];
		$tipo = $profile['data']['tipo_procedencia'];
		$nombreUsuario = $_REQUEST['nombreUsuario'];
		$mail = $_REQUEST['email'];
		$pass = $_REQUEST['pass'];
		$pregunta = $_REQUEST['pregunta'];
		$respuesta = $_REQUEST['resp'];
	
		if(isset($_REQUEST["privileg"])){
			$priv = $_REQUEST["privileg"];
			$pr = '';
			//Ciclo para leer los privilegios de la cuenta
			for($i=0; $i < count($priv); $i++){
				if($pr == '') $pr = $priv[$i];
				else $pr = $pr .'#'. $priv[$i];
			}
		}
		
		$privilegios = $pr;
		
		if($hacer == 'Nueva'){
			if($_SESSION['Tipo']=='Operadora'){
				
				$procede = split('_', $_REQUEST['procedencia']);
				$tipUs = $_REQUEST['tipoUsuario'];
				if($tipUs == 'Maestro') $privilegios = "Administrador";
				if($tipUs == 'Adicional' && $privilegios == ''){
					$privilegios = "Promociones#Reservaciones#Ocupacion#Pagos#Cuentas#Papeletas#Mensajes#Perfil del Hotel";
				}
								
				$bool = $adminUs->createUser($procede[1], $numContrato, $procede[0], $tipUs,$nombreUsuario, $mail, $pass, $privilegios, $pregunta, $respuesta);
			}else{
				$bool = $adminUs->createUserAditional($idProcedencia, $numContrato, $tipo, $nombreUsuario, $mail, $pass, $privilegios, $pregunta, $respuesta);
//				echo "($idProcedencia, $numContrato, $tipo, $nombreUsuario, $mail, $pass, $privilegios, $pregunta, $respuesta)";
			}
			$aviso = 'Cuenta Adicional Creada';
			$error = 'Error al Crear la Cuenta';
		}
		
		else if($hacer == 'Modifica'){
			$idUsuario = $_REQUEST['id'];
			$tipUs = $_REQUEST['tipoUsuario'];
			if($tipUs == 'Maestro') $privilegios = "Administrador";

			if($_SESSION['Tipo']=='Operadora'){
				
				$procede = split('_', $_REQUEST['procedencia']);
				
				if($tipUs == 'Adicional' && $privilegios == ''){
					$privilegios = "Promociones#Reservaciones#Ocupacion#Pagos#Cuentas#Papeletas#Mensajes#Perfil del Hotel";
				}
				$bool = $adminUs->updateUser($idUsuario, $procede[1], $procede[0], $tipUs, $nombreUsuario, $mail, $pass, $privilegios, $pregunta, $respuesta);
				
			}else{
				$bool = $adminUs->updateUserAditional($idUsuario, $idProcedencia, $tipUs, $nombreUsuario, $mail, $pass, $privilegios, $pregunta, $respuesta);
			}
			$aviso = 'Los datos de la cuenta han sido modificados';
			$error = 'Error los datos de la cuenta no se han podido modificar';
		}
		
		if($bool){
			echo "<h2> {$aviso} </h2>";
		}else{
			echo "<h2> {$error} </h2>";
		}
	}
	
	function deleteCuenta(){

		$adminUs = new AdministradorUsuarios();
		
		if($adminUs->deleteUser($_REQUEST['id'])){
			echo "<h2> Usuario Eliminado </h2>";
		}else{
			echo "<h2> Error al Eliminar el Usuario </h2>";
		}
		
	}


	function deleteHotel(){

		$adminHs = new AdministradorHoteles();
		
		if($adminHs->deleteHotel($_REQUEST['id'])){
			echo "<h2> Hotel Eliminado </h2>";
		}else{
			echo "<h2> Error al Eliminar el Hotel </h2>";
		}
		
	}

	
	function hotel(){
	
		$adminH = new AdministradorHoteles();

		$profile=get_object_vars(unserialize($_SESSION['userProfile']));
		
		$idHotel = $profile['data']['id_procedencia'];
		
		$hNombre = $_REQUEST['nombreHotel']; $hEstrellas = $_REQUEST['noEstellas']; $hCertif = $_REQUEST['certificacion']; $hZona = $_REQUEST['zona']; $hDireccion = $_REQUEST['direccion']; $hCaracteristias = $_REQUEST['caracteristicas']; $hServicios = $_REQUEST['servicios']; $hTel = $_REQUEST['telefono']; $hLada = $_REQUEST['lada']; $hFax = $_REQUEST['fax']; $hCP = $_REQUEST['cp']; $hWeb = $_REQUEST['sitioWeb']; $hEmail = $_REQUEST['email']; $hComent = $_REQUEST['comentarios']; $dNombre = $_REQUEST['nombreDestino']; $dEstado = $_REQUEST['nomEstado']; $dCiudad = $_REQUEST['ciudadDestino']; $dDescr = $_REQUEST['descripcionDestino'];
		
		if($adminH->updateHotel($idHotel, $hNombre, $hEstrellas, $hCertif, $hZona, $hDireccion, $hCaracteristias, $hServicios, $hTel, $hLada, $hFax, $hCP, $hWeb, $hEmail, $hComent, $dNombre, $dEstado, $dCiudad, $dDescr)){
			echo '<h2> Los datos de la cuenta han sido modificados </h2>';
		}else{
			echo '<h2> Error los datos de la cuenta no se han podido modificar </h2>';
		}
	
	}
	
	function hotelImg(){

		$profile=get_object_vars(unserialize($_SESSION['userProfile']));
		$idHotel = $profile['data']['id_procedencia'];
	
		$db = new DB();
		$fotos = array();
		$fotos[] = $_FILES['fotos1']['tmp_name'];
		$fotos[] = $_FILES['fotos2']['tmp_name'];
		$fotos[] = $_FILES['fotos3']['tmp_name'];
		$fotos[] = $_FILES['fotos4']['tmp_name'];
		$fotos[] = $_FILES['fotos5']['tmp_name'];
		$croquis = $_FILES['croquis']['tmp_name'];

		$borrar = "";
		$insertar = "";
		$coma='';
		
		for($i = 1; $i < 6; $i++){

			if($fotos[$i-1]!=""){
				$borrar .= $coma." H.Foto{$i} = '' ";
				$insertar .= $coma." H.Foto{$i} = '".addslashes(fread(fopen($fotos[$i-1], "rb"),filesize($fotos[$i-1])))."'";
				$coma=',';
			}
		}

		if($croquis!=''){
			$borrar .= $coma." H.Croquis = '' ";
			$insertar .= $coma."H.Croquis = '".addslashes(fread(fopen($croquis, "rb"),filesize($croquis)))."'";
		}

		if($borrar!=''){
		$query1 = "UPDATE hoteles H SET ". $borrar ." WHERE H.Id_Hotel = {$idHotel}";
		$db->indeup($query1);
		// leer del archvio temporal (el binario subido).
		// "rb" para Windows, para Linux parece que con "r" sobra
		$query2 = "UPDATE hoteles H SET ".$insertar." WHERE H.Id_Hotel = {$idHotel}";
		
			if($db->indeup($query2)){
				session_register("refrescar");
				$_SESSION["refrescar"]=1;
				echo '<h2> Los datos de la cuenta han sido modificados </h2>';
			}else{
				echo '<h2> Error los datos de la cuenta no se han podido modificar </h2>';
			}
		}
	}






	function MHotel(){
	
		$adminH = new AdministradorHoteles();

		$profile=get_object_vars(unserialize($_SESSION['userProfile']));
		
//		$idHotel = $profile['data']['id_procedencia'];
		$idHotel = $_REQUEST['id'];
		
		$hNombre = $_REQUEST['nombreHotel']; $hEstrellas = $_REQUEST['noEstellas']; $hCertif = $_REQUEST['certificacion']; $hZona = $_REQUEST['zona']; $hDireccion = $_REQUEST['direccion']; $hCaracteristias = $_REQUEST['caracteristicas']; $hServicios = $_REQUEST['servicios']; $hTel = $_REQUEST['telefono']; $hLada = $_REQUEST['lada']; $hFax = $_REQUEST['fax']; $hCP = $_REQUEST['cp']; $hWeb = $_REQUEST['sitioWeb']; $hEmail = $_REQUEST['email']; $hComent = $_REQUEST['comentarios']; $dNombre = $_REQUEST['nombreDestino']; $dEstado = $_REQUEST['nomEstado']; $dCiudad = $_REQUEST['ciudadDestino']; $dDescr = $_REQUEST['descripcionDestino'];
		
		if($adminH->updateHotel($idHotel, $hNombre, $hEstrellas, $hCertif, $hZona, $hDireccion, $hCaracteristias, $hServicios, $hTel, $hLada, $hFax, $hCP, $hWeb, $hEmail, $hComent, $dNombre, $dEstado, $dCiudad, $dDescr)){
			echo '<h2> Los datos del Hotel han sido modificados </h2>';
		}else{
			echo '<h2> Error Los datos del Hotel no se han podido modificar </h2>';
		}
	
		$db = new DB();
		$fotos = array();
		$fotos[] = $_FILES['fotos1']['tmp_name'];
		$fotos[] = $_FILES['fotos2']['tmp_name'];
		$fotos[] = $_FILES['fotos3']['tmp_name'];
		$fotos[] = $_FILES['fotos4']['tmp_name'];
		$fotos[] = $_FILES['fotos5']['tmp_name'];
		$croquis = $_FILES['croquis']['tmp_name'];

		$borrar = "";
		$insertar = "";
		$coma='';
		
		for($i = 1; $i < 6; $i++){

			if($fotos[$i-1]!=""){
				$borrar .= $coma." H.Foto{$i} = '' ";
				$insertar .= $coma." H.Foto{$i} = '".addslashes(fread(fopen($fotos[$i-1], "rb"),filesize($fotos[$i-1])))."'";
				$coma=',';
			}
		}

		if($croquis!=''){
			$borrar .= $coma." H.Croquis = '' ";
			$insertar .= $coma."H.Croquis = '".addslashes(fread(fopen($croquis, "rb"),filesize($croquis)))."'";
		}

		if($borrar!=''){
		$query1 = "UPDATE hoteles H SET ". $borrar ." WHERE H.Id_Hotel = {$idHotel}";
		$db->indeup($query1);
		// leer del archvio temporal (el binario subido).
		// "rb" para Windows, para Linux parece que con "r" sobra
		$query2 = "UPDATE hoteles H SET ".$insertar." WHERE H.Id_Hotel = {$idHotel}";
		
			if($db->indeup($query2)){
				session_register("refrescar");
				$_SESSION["refrescar"]=1;
				echo '<h2> Las imagenes del Hotel han sido modificados </h2>';
			}else{
				echo '<h2> Error Las imagenes del Hotel no se han podido modificar </h2>';
			}
		}
	}

	

	
	function nuevoHotel(){
	
		$adminH = new AdministradorHoteles();

		$profile=get_object_vars(unserialize($_SESSION['userProfile']));
		
		$idHotel = $profile['data']['id_procedencia'];
		
		$hNombre = $_REQUEST['nombreHotel']; $hEstrellas = $_REQUEST['noEstellas']; $hCertif = $_REQUEST['certificacion']; $hZona = $_REQUEST['zona']; $hDireccion = $_REQUEST['direccion']; $hCaracteristias = $_REQUEST['caracteristicas']; $hServicios = $_REQUEST['servicios']; $hTel = $_REQUEST['telefono']; $hLada = $_REQUEST['lada']; $hFax = $_REQUEST['fax']; $hCP = $_REQUEST['cp']; $hWeb = $_REQUEST['sitioWeb']; $hEmail = $_REQUEST['email']; $hComent = $_REQUEST['comentarios']; $dNombre = $_REQUEST['nombreDestino']; $dEstado = $_REQUEST['nomEstado']; $dCiudad = $_REQUEST['ciudadDestino']; $dDescr = $_REQUEST['descripcionDestino'];

		$fotos = array();
		$fotos[] = $_FILES['fotos1']['tmp_name'];
		$fotos[] = $_FILES['fotos2']['tmp_name'];
		$fotos[] = $_FILES['fotos3']['tmp_name'];
		$fotos[] = $_FILES['fotos4']['tmp_name'];
		$fotos[] = $_FILES['fotos5']['tmp_name'];
		$croquis = $_FILES['croquis']['tmp_name'];
		
		for($i = 1; $i < 6; $i++){

			if($fotos[$i-1]!=""){
				$fotos[$i-1] = addslashes(fread(fopen($fotos[$i-1], "rb"),filesize($fotos[$i-1])));
			}
		}

		if($croquis!=''){
			$croquis = addslashes(fread(fopen($croquis, "rb"),filesize($croquis)));
		}
		
		if($adminH->createHotel($hNombre, $hEstrellas, $hCertif, $hZona, $hDireccion, $hCaracteristias, $hServicios, $hTel, $hLada, $hFax, $hCP, $hWeb, $hEmail, $hComent, $dNombre, $dEstado, $dCiudad, $dDescr, $fotos[0], $fotos[1], $fotos[2], $fotos[3], $fotos[4], $croquis)){
			echo '<h2> El Hotel se ha dado de alta </h2>';
		}else{
			echo '<h2> Error El Hotel no se ha podido dar de alta </h2>';
		}		
	}
	
	function nuevaAgencia(){

		$adminA = new AdministradorAgencias();

		$profile=get_object_vars(unserialize($_SESSION['userProfile']));
		
		$Nombre = $_REQUEST['nombreAgencia']; 
		$Direccion = $_REQUEST['direccion'];
		$Ciudad = $_REQUEST['ciudad'];
		$Estado = $_REQUEST['nomEstado'];
		$Tel = $_REQUEST['telefono'];
		$Lada = $_REQUEST['lada'];
		$Fax = $_REQUEST['fax'];
		$CP = $_REQUEST['cp']; 
		$Web = $_REQUEST['sitioWeb'];
		$Email = $_REQUEST['email'];
		$Comision = $_REQUEST['comision'];
		
		if($adminA->createAgencia($Nombre, $Direccion, $Ciudad, $Estado, $CP, $Lada, $Tel, $Fax, $Web, $Email, $Comision)){
			echo '<h2> La Agencia se ha dado de alta </h2>';
		}else{
			echo '<h2> Error La Agencia no se ha podido dar de alta </h2>';
		}	
	}

	function agencia(){

		$adminA = new AdministradorAgencias();

		$profile=get_object_vars(unserialize($_SESSION['userProfile']));
		$idAgencia = $profile['data']['id_procedencia'];
		
		$Nombre = $_REQUEST['nombreAgencia']; 
		$Direccion = $_REQUEST['direccion'];
		$Ciudad = $_REQUEST['ciudad'];
		$Estado = $_REQUEST['nomEstado'];
		$Tel = $_REQUEST['telefono'];
		$Lada = $_REQUEST['lada'];
		$Fax = $_REQUEST['fax'];
		$CP = $_REQUEST['cp']; 
		$Web = $_REQUEST['sitioWeb'];
		$Email = $_REQUEST['email'];

		if($adminA->updateAgencia($idAgencia, $Nombre, $Direccion, $Ciudad, $Estado, $CP, $Lada, $Tel, $Fax, $Web, $Email, $Comision)){
			echo '<h2> Los datos de la cuenta han sido modificados </h2>';
		}else{
			echo '<h2> Error los datos de la cuenta no se han podido modificar </h2>';
		}	
	}
	
	function nuevaPapeleta(){
		
		$idPapeleta = $_REQUEST["noPapeleta"];
		$noRes= $_REQUEST["noReser"];
		$leye = $_REQUEST["leyenda"];
		$state = $_REQUEST["estatus"];
				
		$query = "INSERT INTO papeleta ( Id_Papeleta , Id_Reservacion , Leyenda , Status ) VALUES ('" . $idPapeleta ."','" . $noRes ."','" . $leye . "','" . $state ."')";

		$db=new DB();
		if($db->indeup($query)){
			echo '<h2> La Papeleta se ha dado de alta </h2>';
		}else{
			echo "<h2>Error al Generar la Papeleta </h2>";
		}		
	}
?>